<?php

namespace app\admin\model;

use think\Model;


class BrowsingHistory extends Model
{

    

    

    // 表名
    protected $name = 'browsing_history';
    
    // 自动写入时间戳字段
    protected $autoWriteTimestamp = false;

    // 定义时间戳字段名
    protected $createTime = false;
    protected $updateTime = false;
    protected $deleteTime = false;

    // 追加属性
    protected $append = [

    ];
    
    /**
     * 新增浏览历史记录
     * @param int $teacher_detail_id 课程id（教师课程id）
     * @param int $user_id 用户id
     * @return bool|int 返回插入的记录id，失败返回false
     */
    public static function addHistory($teacher_detail_id, $user_id)
    {
        // 参数验证
        if(empty($teacher_detail_id) || empty($user_id)){
            return false;
        }

        // 检查是否已存在相同的浏览记录（可选：如果存在则更新浏览时间，而不是创建新记录）
        // 如果希望每次浏览都创建新记录，可以注释掉这段代码
        $exist = self::where([
            'teacher_detail_id' => $teacher_detail_id,
            'user_id' => $user_id
        ])->find();

        if($exist){
            // 更新浏览时间
            $exist->addtime = date('Y-m-d H:i:s');
            return $exist->save() ? $exist->id : false;
        }

        // 创建新记录
        $data = [
            'teacher_detail_id' => $teacher_detail_id,
            'user_id' => $user_id,
            'addtime' => date('Y-m-d H:i:s')
        ];

        $result = self::create($data);
        return $result ? $result->id : false;
    }

    /**
     * 关联教师课程详情
     */
    public function teacherDetail()
    {
        return $this->hasOne(TeacherDetail::class, 'id', 'teacher_detail_id', [], 'LEFT')->setEagerlyType(0);
    }

    public function teacherDetailS()
    {
        return $this->hasOne(TeacherDetail::class, 'id', 'teacher_detail_id', [], 'LEFT')->with(['identity','clubDtlS']);
    }







}
